/**
 * 
 */
package com.sasis.webapp.task.ftp;


/**
 * @author Donitz
 * @since 2007-9-13
 */
public interface IFtpClient {

	/**
	 * download from FTP server 
	 * @param localPath local save 
	 * @param remoteFile remote file
	 * @return
	 */
    public boolean download(String localPath,String remoteFile);
	public void upload();
	public void closeConn();
	public boolean openConn();
	/**
	 * simple(only name) ls cmd to get the list of remote path
	 * @param remotePath
	 * @return
	 */
	public String[] ls(String remotePath);
	
	/**
	 * complex ls -l cmd to get the list of remote path
	 * @param remotePath
	 * @return FtpContent Arrays
	 */
	public FtpContent[] lsDetail(String remotePath);
	/**
	 * move the file in remote FTP server
	 * @param fromFile needed for move file name
	 * @param toPath move to path,must match '\' on the most right
	 * @return
	 */
	public boolean mv(String fromFile,String toPath);
	/**
	 * is connected
	 * @return ?
	 */
	public boolean isConnected();
//	/**
//	 * login
//	 * @param loginName
//	 * @param password
//	 */
//	public void login(String loginName,String password);
//	/**
//	 * connected remote server
//	 * @param hostName
//	 * @param port
//	 */
//	public void hostAdress(String hostName,int port);
//	/**
//	 * socks proxy
//	 */
//	public void socksAddress(String socksAdd,int socksPort);
}
